k8s grafana 迁移
原理: 启动新环境, 将原来环境的 grafana.db
复制到新环境替换相同文件.
由于涉及到 k8s, 原来没有做磁盘映射, 所以只能到 pod 所在主机, 使用 docker cp 将文件复制出来. (不能使用 kubectl 复制, kubectl 只能复制 workdir 下的文件. grafana.db 文件不再 workdir 内, 并且 workdir 只有 r-x
权限; 也不能使用 root 账号登录操作, 复制文件到 workdir 下, 因为镜像中没有 root 用户)
最终使用方案: 找到 pod 所在机器: kubectl describe pod grafana-xxx
, 登录主机后, 复制文件 docker cp grafana-xxx:/var/lib/grafana.db .
到主机.
参考
K8s prometheus 迁移
原理: 启动新环境, 将原来环境的 data 文件夹复制到新环境替换相同文件.
备份原环境 data 数据
1 | # 从主机进入 pod |
需要注意的是, 在覆盖操作后, wal 文件夹内的数据会引起 Prometheus 数据检查失败, 无法启动, 将文件夹内数据删掉即可启动, 但是会丢失一段时间内的数据.
参考
Prometheus does not start: get segment range: segments are not sequential